/* 
    学习一下 generator 生成器函数
*/

/* run 函数使用 * 标识，是一个 生成器函数，在调用的时候，里面的代码不会执行 ，返回一个 迭代器对象 */
function* run() {
    /* 可以使用 yield 定义多个状态 */
    yield 'run1'; // return 1; {value: 'run1', done: false}
    yield 'run2';
    yield 'run3';
    yield 'run4';

    return 'over';
}

const iterator = run();

console.log(iterator); // next()方法
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());